#ifndef ZL_REGEX_DATA
#define ZL_REGEX_DATA

#include "../Collections/List.h"

namespace zl
{
	namespace regex_internal
	{
		using namespace zl::collections;

		class CharRange
		{
		public:
			typedef  SortedList<CharRange>     List;
			wchar_t                  begin;
			wchar_t                  end;
			CharRange();
			CharRange(wchar_t _begin,wchar_t _end);
			bool                     operator<(CharRange item)const;
			bool                     operator<=(CharRange item)const;
			bool                     operator==(CharRange item)const;
			bool                     operator!=(CharRange item)const;
			bool                     operator>(CharRange item)const;
			bool                     operator>=(CharRange item)const;

			bool                     operator<(wchar_t item)const;
			bool                     operator<=(wchar_t item)const;
			bool                     operator==(wchar_t item)const;
			bool                     operator!=(wchar_t item)const;
			bool                     operator>(wchar_t item)const;
			bool                     operator>=(wchar_t item)const;
		};
	};
};
#endif
